// import store from '@/store'

// export default {
//   inserted(el, binding) {
//     const { value } = binding
//     const roles = store.getters && store.getters.roles
//     if (value && value instanceof Array) {
//       if (value.length > 0) {
//         const permissionRoles = value
//         const hasPermission = roles.some(role => {
//           return permissionRoles.includes(role)
//         })
//         if (!hasPermission) {
//           el.parentNode && el.parentNode.removeChild(el)
//         }
//       }
//     } else {
//       throw new Error(`使用方式： v-permission="['admin','editor']"`)
//     }
//   }
// }

import store from '@/store'

export default {
  inserted(el, binding) {
    const { value } = binding
    const roles = store.getters && store.getters.roles
    if (value && value instanceof Array) {
      if (value.length > 0) {
        const permissionRoles = value
        // 判断用户是否为管理员（包含'admin'角色
        const isAdmin = roles.includes('admin')
        // 判断权限数组中是否包含'otherUser'
        const hasOtherUser = permissionRoles.includes('otherUser')
        // 权限判断逻辑：
        // 1. 原逻辑：用户角色与权限数组有交集（如管理员匹配'admin'）
        // 2. 新增逻辑：权限数组包含'otherUser'，且用户不是管理员
        const hasPermission = roles.some(role => permissionRoles.includes(role)) || (hasOtherUser && !isAdmin)
        if (!hasPermission) {
          el.parentNode && el.parentNode.removeChild(el)
        }
      }
    } else {
      throw new Error(`使用方式： v-permission="['admin','editor']"`)
    }
  }
}
